U.S. Pat. No. 4,595,958 issued Jun. 17, 1986 to Anderson Jr. et al. discloses a process of recording one or more digital images on a hardcopy output medium such as photographic film or paper. In the process of recording the digital images, they may be enlarged or reduced by interpolation to fill the available output medium. Although one interpolation algorithm is disclosed (i.e. linear interpolation) no specific hardware for performing the interpolation is described.
U.S. Pat. No. 4,578,812 issued Mar. 25, 1986 to Yui discloses hardware for performing high speed two-dimensional interpolation on a digital image by the method of cubic convolution. In the two-dimensional cubic convolution interpolation algorithm implemented by the hardware, sixteen pixels from the original image surrounding an interpolation site in a two-dimensional array are simultaneously multiplied by 16 corresponding interpolation coefficients (weight factors) and the 16 products are added to produce the interpolated value at the interpolation site. The interpolation coefficients represent samples of a two-dimensional cubic convolution interpolation kernel, and are stored in a digital memory. The cubic convolution kernel is sampled at a granularity of 32.times.32 samples between original pixels. The samples are stored as 12-bit values. As a result, the total storage requirements for the interpolation coefficients is 32.times.32.times.12.times.16=196,608 bits, where the "16" indicates the 16 coefficients applied to the 16 pixel values to obtain the interpolated value. The storage requirement is thus about 192K bits for the interpolation coefficients.
For high resolution images, such as diagnostic x-ray images, it is desirable to sample the cubic convolution kernel at a much finer granularity, say 256.times.256, and to record the coefficients to a higher accuracy, say 16 bits, to provide a more accurate interpolation, and finer divisions between magnification choices. This would require 256.times.256.times.16.times.16 which approximately equals 16M bits of read only memory for storing the interpolation coefficients. The provision of such a large amount of read only memory would be very costly and difficult to address.
Furthermore, it is known that for certain types of images cubic convolution does not produce an optimum interpolated image and other interpolation algorithms such as linear or replication are preferred. It is therefore the object of the present invention to provide apparatus for performing cubic convolution interpolation on a digital image that overcomes the shortcoming noted above. It is a further object of the invention to provide interpolation apparatus that can also be employed to perform other types of interpolation such as linear and replication.